package timing.ukulele.third.model.weixin;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 自定义菜单模型
 */
@Data
public class Menu implements Serializable {

    private static final long serialVersionUID = -7083914585539687746L;

    private String appId;
    /**
     * 菜单分组
     */
    private MenuRule matchrule;
    /**
     * 菜单按钮集合
     */
    private List<MenuButton> button = new ArrayList<>();

    /**
     * 反序列化
     */
    public static Menu fromJson(String json) {
        return JSONObject.parseObject(json, Menu.class);
//        return JSONUtil.parseObj(json).toBean(Menu.class);
    }

    public String toJson() {
        return JSON.toJSONString(this);
//        return JSONUtil.toJsonStr(this);
    }

    @Override
    public String toString() {
        return this.toJson();
    }

}
